﻿using System.Collections.Generic;
using FlowCanvas;
using UnityEngine;

namespace Snake.Gameplay
{
    [CreateAssetMenu(menuName = "Gameplay/Ability")]
    public class GameplayAbility : ScriptableObject
    {
        public string abilityTag;

        /// <summary>
        /// 打断能力需要拥有的tag
        /// </summary>
        public string[] sourceBreakTags = new string[0];

        /// <summary>
        /// 激活时给自身添加tag
        /// </summary>
        public string[] activationOwnedTags = new string[0];

        /// <summary>
        /// 激活能力需要自身拥有的tag
        /// </summary>
        public string[] sourceRequiredTags = new string[0];

        /// <summary>
        /// 激活能力自身不能拥有的tag
        /// </summary>
        public string[] sourceBlockedTags = new string[0];

        public List<AbilityTrigger> abilityTriggers = new List<AbilityTrigger>();

        public FlowScript flowScript;

        public GameplayEffect costEffect;
        public GameplayEffect cooldownEffect;
    }
}